U.S. Pat. Pub. No. 20060206873 (“Environment for run control of computer programs”) depicts a method for modifying a user program and running it under the control of another program so as to permit states to be saved during the operation of a program in a loop and an ability to jump between them. It also depicts ways to attach a debugger to an active state, to maintain debug context for several saved states, and to run a program in a “virtual time machine” with a galloping mode and a safe mode.
U.S. Pat. Pub. No. 20050071824 (“Method and system for executing software on non-native platforms”) depicts executing a program (a) via a debugging program on a first emulator and (b) on the platform on a second emulator. The debugging program makes calls into the processes and threads of the program on the platform via an interface.